GtkRange: Redraw if GtkRange is a GtkScale and value is drawn.
authorJan Arne Petersen <jap@gnome.org>
Tue, 18 May 2010 06:46:42 +0000 (08:46 +0200)
committerMurray Cumming <murrayc@murrayc.com>
Tue, 18 May 2010 06:51:01 +0000 (08:51 +0200)
* gtk/gtkrange.c: (gtk_range_adjustment_value_change):
Queue the draw also if the range is a scale and the value is drawn,
fixing bug #533946 (Markus Brinkmann), when two HScales use one
adjustment.

gtk/gtkrange.c

index 552eac7c1c90072d7e8feea68da43657f3db19c7..a4fcee42545d87ced76195bf76ce51604e1e0781 100644 (file)
@@ -35,6 +35,7 @@
 #include "gtkmarshalers.h"
 #include "gtkorientable.h"
 #include "gtkrange.h"
+#include "gtkscale.h"
 #include "gtkscrollbar.h"
 #include "gtkprivate.h"
 #include "gtkintl.h"
@@ -2618,7 +2619,8 @@ gtk_range_adjustment_value_changed (GtkAdjustment *adjustment,
   gtk_range_calc_layout (range, range->adjustment->value);
   
   /* now check whether the layout changed  */
-  if (layout_changed (range->layout, &layout))
+  if (layout_changed (range->layout, &layout) ||
+      (GTK_IS_SCALE (range) && GTK_SCALE (range)->draw_value))
     {
       gtk_widget_queue_draw (GTK_WIDGET (range));
       /* setup a timer to ensure the range isn't lagging too much behind the scroll position */